Refine the FRE settings wordings - #878
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Some updated FRE resources have inconsistencies between en-US behavior/copy and locale-side translator comments/strings (including missing/stale parity), which should be corrected before approval.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR refines the First Run Experience (FRE) settings page by consolidating error detection/fix configuration into a single dropdown, refreshing copy and layout behavior, removing inline setup hints from setting cards, and updating localized resources and E2E coverage to match the new UI.
Changes:
- Replaced the separate error detection + automatic fix toggles with a 3-mode “Error detection” dropdown (Detect / Detect and fix / Off) and updated related FRE strings.
- Removed inline setup hint rows from FRE setting cards and refreshed FRE settings titles/labels/descriptions/button text.
- Updated FRE E2E tests to validate the new dropdown and assert removed controls/hints are absent.
File summaries
| File | Description |
|---|---|
| test/e2e/tests/Feature.FreAgentSetup.Tests.ps1 | Updates FRE E2E coverage to validate the new error-detection dropdown and removed hint/toggles. |
| src/cascadia/TerminalApp/FreOverlay.h | Introduces ErrorDetectionMode and new layout sizing/update helpers for the updated FRE settings form. |
| src/cascadia/TerminalApp/Resources/en-US/Resources.resw | Updates FRE settings copy and adds new error-detection dropdown resources (label/description/options/policy-locked text). |
| src/cascadia/TerminalApp/Resources/en-GB/Resources.resw | Mirrors FRE string updates and adds policy-locked string for the refreshed FRE settings UI. |
| src/cascadia/TerminalApp/Resources/qps-ploc/Resources.resw | Updates pseudo-locale FRE strings and adds new error-detection dropdown resources. |
| src/cascadia/TerminalApp/Resources/qps-ploca/Resources.resw | Updates pseudo-locale FRE strings and adds new error-detection dropdown resources. |
| src/cascadia/TerminalApp/Resources/qps-plocm/Resources.resw | Updates pseudo-locale FRE strings and adds new error-detection dropdown resources (with translator comments). |
| src/cascadia/TerminalApp/Resources/de-DE/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/es-ES/Resources.resw | Updates localized FRE strings and adjusts the policy-locked wording. |
| src/cascadia/TerminalApp/Resources/es-MX/Resources.resw | Updates localized FRE strings and adds policy-locked string. |
| src/cascadia/TerminalApp/Resources/fr-FR/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/fr-CA/Resources.resw | Updates localized FRE strings and adds policy-locked string. |
| src/cascadia/TerminalApp/Resources/it-IT/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/ko-KR/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/id-ID/Resources.resw | Updates localized FRE strings and adds policy-locked string. |
| src/cascadia/TerminalApp/Resources/ms-MY/Resources.resw | Updates localized FRE strings and adds policy-locked string. |
| src/cascadia/TerminalApp/Resources/nl-NL/Resources.resw | Updates localized FRE strings and adds policy-locked string. |
| src/cascadia/TerminalApp/Resources/pt-BR/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/pt-PT/Resources.resw | Updates localized FRE strings and adds policy-locked string. |
| src/cascadia/TerminalApp/Resources/ro-RO/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/ru-RU/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/sk-SK/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/sl-SI/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/sq-AL/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/sr-Cyrl-BA/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/sr-Latn-RS/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/sv-SE/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/ta-IN/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/te-IN/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/th-TH/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/tr-TR/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/tt-RU/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/ur-PK/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/uz-Latn-UZ/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/vi-VN/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/zh-CN/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
| src/cascadia/TerminalApp/Resources/zh-TW/Resources.resw | Updates localized FRE strings for the new settings copy and error-detection dropdown. |
Review details
Suppressed comments (2)
src/cascadia/TerminalApp/Resources/zh-CN/Resources.resw:1114
- The text for FreOverlay_ShowTokenUsageAndCostLabel/Description is stale vs en-US (it still references "context-window usage" and the older wording). Since .resw strings are kept in English and should match en-US, these should be updated to the new en-US comments.
src/cascadia/TerminalApp/Resources/zh-CN/Resources.resw:1101 - Several newly-added FRE error-detection resources in this locale omit the English translator text that exists in en-US (e.g. the label/description keys). For localization consistency and tooling, locale .resw entries should retain the same English content as en-US.
- Files reviewed: 93/93 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 983cc47d-6f23-4c84-9a54-1a60ecaaf607
There was a problem hiding this comment.
🔵 Needs a closer look
The en-US error-detection description text still implies failed commands are always sent to the agent, which conflicts with the dropdown modes’ actual behavior and needs correction (then resync across locales).
Review details
Suppressed comments (1)
src/cascadia/TerminalApp/Resources/en-US/Resources.resw:1136
- FreOverlay_ErrorDetectionDescription.Text implies failed commands are always sent to the agent, but the dropdown modes (and their option comments) indicate sending only happens in the “Detect and fix errors” mode. This description should be mode-agnostic so it doesn’t misstate behavior for “Detect errors” / “Off”.
<value>Have your agent automatically detect errors in the shell and send failed commands to your agent.</value>
- Files reviewed: 54/93 changed files
- Comments generated: 0 new
- Review effort level: Lite
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 983cc47d-6f23-4c84-9a54-1a60ecaaf607
There was a problem hiding this comment.
🟢 Approval recommended
The updated FRE UI controls, code-behind behavior (including policy handling), and E2E coverage align with the PR’s stated goals, and the localized resource keys appear consistently updated across all locales.
Review details
- Files reviewed: 54/93 changed files
- Comments generated: 0 new
- Review effort level: Lite
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 983cc47d-6f23-4c84-9a54-1a60ecaaf607
There was a problem hiding this comment.
🟢 Approval recommended
The UI refactor cleanly replaces the legacy toggles with a single dropdown, removes now-obsolete hint elements, and updates localized resources and E2E coverage consistently with the new FRE controls.
Review details
- Files reviewed: 54/93 changed files
- Comments generated: 0 new
- Review effort level: Lite
Summary
Validation
TerminalAppLib.